package org.example.创建型模式.工厂方法模式.重构代码.发奖服务场景_工厂方法.store.impl;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.example.创建型模式.工厂方法模式.基层.发奖服务场景_工厂方法.card.IQiYiCardService;
import org.example.创建型模式.工厂方法模式.重构代码.发奖服务场景_工厂方法.store.ICommodity;

import java.util.Map;
/**
 * TODO
 * 第三方兑换卡
 * @author: hmxchen
 * @date : 2022/4/11 20:20
*/ 
@Slf4j
public class CardCommodityService implements ICommodity {
    /**
     * TODO
     * 模拟注入
     * @author: hmxchen
     * @date : 2022/4/11 20:21
    */
    private IQiYiCardService iQiYiCardService = new IQiYiCardService();

    public void sendCommodity(String uId, String commodityId, String bizId, Map<String, String> extMap){
        String mobile = queryUserMobile(uId);
        iQiYiCardService.grantToken(mobile, bizId);
        log.info("请求参数[爱奇艺兑换卡] => uId：{} commodityId：{} bizId：{} extMap：{}", uId, commodityId, bizId, JSONUtil.toJsonStr(extMap));
        log.info("测试结果[爱奇艺兑换卡]：success");
    }

    private String queryUserMobile(String uId) {
        return "15200101232";
    }

}
